mysql如何根据重复的条件得到重复的数据,结果不要去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql如何根据重复的条件得到重复的数据,结果不要去重相关的知识,希望对你有一定的参考价值。

前提是这些条件的数据数据库中都是有的,比如:select name form aa where name in ('zhang','wang','wang'); 我想要得到的结果是:三条结果,而不是去重过后的两条,就是说有几个where条件就得到几条结果,如何能做到呢??高手赐教!!!

参考技术A mysql有函数可以取出重复的 distinct
select distinct ( name) form aa where name in ('zhang','wang','wang');追问

你理解错了,我是想结果不要去重啊,重复数据要保留!!

追答

是要显示重复的记录么?

追问

是的啊,不去重。。

追答

不好意思 以前没看明白

select name form aa where name in ('zhang','wang')
这样查就可以了 数据库name在where条件的都会查出来的

本回答被提问者采纳
参考技术B select name form aa where name=‘zhang’
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 块的实际内容替换... 之外,它不需要更改,只要您的$10 为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如何根据重复的条件得到重复的数据,结果不要去重的主要内容,如果未能解决你的问题,请参考以下文章

请教在MySQL中怎样根据一些条件筛选重复值

mysql实现按条件更新数据

MySQL游标存储过程条件显示重复记录

MySQL语句执行顺序

C# 属性列表。需要根据2个条件对它们进行分组[重复]

如何根据条件表达式从熊猫数据框中删除行[重复]