亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何返回在MySQL中具有相同列值的行

如何返回在MySQL中具有相同列值的行

紫衣仙女 2019-06-12 15:29:44
如何返回在MySQL中具有相同列值的行讓我們考慮下表-ID Score1  952  1003  884  1005  73我完全是一個SQLNoob,但是如何返回ID 2和4的分數呢?所以它應該返回100,因為它在ID 2和4中都有它的功能。
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

這是一個“集內集”查詢的示例。我建議使用having子句,因為它是最靈活的方法。

select scorefrom tgroup by scorehaving sum(id = 2) > 0 and -- has id = 2
       sum(id = 4) > 0     -- has id = 4

這是在用分數來聚合。然后是having條款(sum(id = 2)計算出每分有多少個“2”。第二個是數多少“4”。只返回“2”和“4”的分數。


查看完整回答
反對 回復 2019-06-12
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

SELECT scoreFROM tWHERE id in (2, 4)HAVING COUNT(*) = 2 /* replace this with the number of IDs */

這將選擇ID 2和4的行。這個HAVING子句確保我們找到了這兩行;如果兩者都缺少,計數將小于2。

這假設id是一個獨特的列。


查看完整回答
反對 回復 2019-06-12
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

select Scorefrom tbl awhere a.ID = 2 -- based off Score with ID = 2
    --include Score only if it exists with ID 6 also
    and exists (
        select 1
        from tbl b        where b.Score = a.Score and b.ID = 6
    )
    -- optional?  ignore Score that exists with other ids as well
    and not exists (
        select 1
        from tbl c        where c.Score = a.Score and c.ID not in (2, 6)
    )


查看完整回答
反對 回復 2019-06-12
  • 3 回答
  • 0 關注
  • 756 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號