SELECT num, COUNT(num) AS amt
FROM table
WHERE num IN (
SELECT num
FROM table
WHERE id IN (1,2,3))
GROUP BY num
HAVING amt > 1
另外,我怎樣才能得到如何摺疊這個嵌套的MySQL查詢?
'777'=> '2'
..代替
'NUM'=> '777'
'amt'=>'2'
結果?
感謝
SELECT num, COUNT(num) AS amt
FROM table
WHERE num IN (
SELECT num
FROM table
WHERE id IN (1,2,3))
GROUP BY num
HAVING amt > 1
另外,我怎樣才能得到如何摺疊這個嵌套的MySQL查詢?
'777'=> '2'
..代替
'NUM'=> '777'
'amt'=>'2'
結果?
感謝
您不能在聚合列做了where
,你必須使用having
那些。
SELECT t1.num,
COUNT(t1.num) AS amt
FROM `table` t1
INNER JOIN `table` t2 ON (t1.num = t2.num)
WHERE t2.id IN (1,2,3)
GROUP BY t1.num
HAVING amt > 1
我懷疑你的問題的第二部分是與PHP相關的,而不僅僅是SQL。 –
我知道如何在PHP中,但我認爲它可以用MySQL來完成。感謝編輯,這裏是奇怪的,可怕的文本編輯器 – Shara