你好我想知道这个例子是否可以由SQL完成。如果不能,请告诉我。
查询结果:
Id | Qty |
A | 1 |
B | 3 |
B | 5 |
C | 2 |
C | 1 |
C | 4 |
因为Id B和C在查询结果中有多个行,所以我会保留它们并从结果中删除Id A.结果就是:
Id | Qty |
B | 3 |
B | 5 |
C | 2 |
C | 1 |
C | 4 |
我不知道如何找到这个并告诉我SQL是否无法完成。 提前致谢
答案 0 :(得分:3)
如果您正在使用SQL Server,一种方法是使用COUNT OVER
:
WITH CTE AS(
SELECT *,
cnt = COUNT(Id) OVER(PARTITION BY Id)
FROM tbl
)
SELECT
Id, Qty
FROM CTE
WHERE cnt > 1
将COUNT
和HAVING
用于标准SQL
SELECT *
FROM tbl
WHERE
Id IN(
SELECT Id
FROM tbl
GROUP BY Id
HAVING COUNT(*) > 1
)
答案 1 :(得分:0)
尝试此查询
$(function() {
$('img').on('click', function() {
var alpha = $(this).css('opacity');
$("#msg").text((alpha == 1) ? "full" : alpha);
}).on('transitionend', function() {
var alpha = $(this).css('opacity');
if (alpha == 1) {
$("#msg2").fadeIn().delay(700).fadeOut();
} else {
$("#msg3").fadeIn().delay(700).fadeOut();
}
});
});