mysql - 具有内连接查询的唯一结果集

标签 mysql

SELECT 
    * 
FROM `catalog_webdesign_products` t 
INNER JOIN tbl_member_registration t1 ont.userid=t1.fld_loginid 
WHERE 1 
    AND t1.fld_member_category_level<9 
    AND t.product_img IS NOT NULL  
ORDER BY RAND() LIMIT 5

在此查询中,我需要具有唯一用户 ID 的行。我也尝试过“按用户 ID 分组”,但结果集中出现了带有空值的 product_img。

最佳答案

是的,您可以使用GROUP BY userid。但是你的查询在这里看起来是错误的

   INNER JOIN tbl_member_registration t1 on t.userid=t1.fld_loginid
                                           ^------------------------space here

试试这个

  SELECT 
  * 
  FROM `catalog_webdesign_products` t 
  INNER JOIN tbl_member_registration t1 on t.userid=t1.fld_loginid 
  WHERE  t1.fld_member_category_level<9 
  AND t.product_img IS NOT NULL  
  group by userid
  ORDER BY RAND() LIMIT 5

编辑:

 SELECT 
  * 
  FROM (select * from `catalog_webdesign_products` where product_img IS NOT NULL) t 
  INNER JOIN tbl_member_registration t1 on t.userid=t1.fld_loginid 
  WHERE  t1.fld_member_category_level<9 
  group by t.userid
  ORDER BY RAND() LIMIT 5

关于mysql - 具有内连接查询的唯一结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14256421/

相关文章:

mysql - 触发定义器错误

mysql - 如何在 phpMyAdmin 中查看我的存储过程?

java - 无法从 mysql 数据库中检索所有行

mysql - SQL:使用2个不同的auto_increment创建关系表

php - 上传和sql查询

php - 显示一次选择自动完成jquery的人的信息

php - 在数据库中存储大量标记的最佳方法是什么?

python - MySQL 服务器已经消除了 Pylons、SQLAlchemy、Apache 的错误

mysql - 使用数百个 bool 值处理 SQL 中的用户行

php - 在 codeigniter 中一次更新两个表