Ond*_*rej 5 mysql select group-by
我遇到了MySQL查询的问题.
比方说,我们有两个表:
1 ...... 1
2 ...... 1
3 ...... 1
4 ...... 3
和
1 ...... 2
2 ...... 1
6 ...... 1
7 ...... 2
我真正需要得到的是一个由id过滤的结果,所以没有重复的id.如果它们是两个相同的id,则只考虑具有更高数量的id.所以在理想情况下我会得到这样的结果:
1 ...... 2
2 ...... 1
3 ...... 1
4 ...... 3
6 ...... 1
7 ...... 2
我到目前为止尝试的是一个UNION SELECT,它工作正常,但当它遇到一个重复的ID它不会删除重复,因为它只删除重复的行.GROUP BY也没有帮助.我仍然可以通过PHP中的数组对此进行排序,但如果可能的话,我希望在MySQL级别进行排序.
谢谢大家的帮助,非常感谢!
Mar*_*ers 16
GROUP BY也没有帮助
真?你有这样的尝试吗?
SELECT id, MAX(qty) AS qty
FROM
(
SELECT id, qty FROM table1
UNION ALL
SELECT id, qty FROM table2
) T1
GROUP BY id
Run Code Online (Sandbox Code Playgroud)
小智 15
您可以使用UNION DISTINCT.也许它运行...
SELECT * FROM t1 WHERE ...
UNION DISTINCT
SELECT * FROM t2 WHERE ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18346 次 |
| 最近记录: |