我有一个用户表,其中有一个包含UserID和bookId的列,但是用户可以读一本书两次或更多次,并且db每次都会保存此结果。如何获得阅读1本书超过1次的用户?谢谢
答案 0 :(得分:1)
您的表名是“ users2books”。
SELECT * FROM (
SELECT UserID, count(bookID) as 'number' from user2books
GROUP BY UserID
) a
WHERE number > 1
答案 1 :(得分:1)
然后,与该用户的唯一书号相比,唯一书号的数量将有所不同。
SELECT UserID
FROM YourBooksReadByUsersTable
GROUP BY UserID
HAVING COUNT(BookId) > COUNT(DISTINCT BookId)
答案 2 :(得分:1)
只需执行GROUP BY
即可返回多次阅读一本书的UserId。
请执行select distinct
,以防用户多次阅读多本书。 (在极少数情况下,您将group by
与select distinct
结合使用!)
select distinct UserID
from tablename
group by UserID, BookId
having count(*) > 1
答案 3 :(得分:0)
一个用户可以阅读多于一本书,一次以上,因此,如果我们同时拥有这两个领域,那么它更现实。
function custom_wc_ajax_variation_threshold( $qty, $product )
{
return 100;
}
add_filter( 'woocommerce_ajax_variation_threshold', 'custom_wc_ajax_variation_threshold', 100, 2 );
否则,如果我们只想拥有用户ID,则可以按照 jarlh 回答。