mysql如何根据重复的条件得到重复的数据,结果不要去重
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql如何根据重复的条件得到重复的数据,结果不要去重相关的知识,希望对你有一定的参考价值。
前提是这些条件的数据数据库中都是有的,比如:select name form aa where name in ('zhang','wang','wang'); 我想要得到的结果是:三条结果,而不是去重过后的两条,就是说有几个where条件就得到几条结果,如何能做到呢??高手赐教!!!
参考技术A mysql有函数可以取出重复的 distinctselect distinct ( name) form aa where name in ('zhang','wang','wang');追问
你理解错了,我是想结果不要去重啊,重复数据要保留!!
追答是要显示重复的记录么?
追问是的啊,不去重。。
追答不好意思 以前没看明白
select name form aa where name in ('zhang','wang')
这样查就可以了 数据库name在where条件的都会查出来的
union all
select name form aa where name=‘wang’
union all
select name form aa where name=‘wang’
简单条件在bash中得到错误的评估结果[重复]
【中文标题】简单条件在bash中得到错误的评估结果[重复]【英文标题】:Simple condition getting wrong evaluation result in bash [duplicate] 【发布时间】:2021-08-13 03:00:56 【问题描述】:我有这个 bash 脚本获取布尔参数,基于 answer here 我创建了这个简单的条件,由于某种原因,我得到了错误的结果
#!/bin/bash
copyFile()
echo "copyFile #Parameter:$1"
if [ "$1" ]; then
echo "Parameter is true"
else
echo "Parameter is false"
fi
copyFile true
copyFile false
执行结果:
[admin@local_ip_tmp]$ ./test.sh
copyFile #Parameter:true
Parameter is true
copyFile #Parameter:false
Parameter is true
最后的结果应该是“参数为假”我不知道发生了什么。 做错了什么?
【问题讨论】:
提示:false
只是一个字符串,它不是空的
准确测试您想要测试的内容。您当前的测试等效于if [ -n "$1" ]
(如果$1
不为空)。你追求什么? if [ "$1" = "true" ]
或 if [ "$1" != "true" ]
或 if [ "$1" = "false" ]
或 ...
删除[
和]
。
@JavaSheriff,我个人建议使用带有整数常量的算术测试上下文。 if (( $1 )); then ...
将 0
视为 false,所有正整数都视为 true。
@JavaSheriff,你是什么意思?在我之前的评论中,那 是 一个例子。除了用then
块的实际内容替换...
之外,它不需要更改,只要您的$1
是0
为false 和1
为true。
【参考方案1】:
linked post 上的accepted answer 以:
bash 不知道布尔变量,也不知道测试
因此,如 cmets 中所述[1][2]if [ "$1" ];
被评估为 if [ -n "$1" ]
,并且由于 $1
不为空,"Parameter is true"
将被打印。
要测试是否给出了字符串"true"
,可以使用以下代码
#!/bin/bash
copyFile()
echo "copyFile #Parameter:$1"
if [ "$1" = "true" ]; then
echo "Parameter is true"
else
echo "Parameter is false"
fi
copyFile "true"
copyFile "false"
这将产生:
copyFile #Parameter:true
Parameter is true
copyFile #Parameter:false
Parameter is false
你可以测试on this online demo。
【讨论】:
==
应该是 =
。因为它适用于 bash 本身,但不适用于基线 POSIX shell。请参阅the POSIX standard for test
,它根本没有指定==
。以上是关于mysql如何根据重复的条件得到重复的数据,结果不要去重的主要内容,如果未能解决你的问题,请参考以下文章