如何在sql中为每个字段选择字段并计数?

vqlkdk9b  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(333)

我要选择一个名为messages的sql表 DISTINCT 表中向具有id($uid)的收件人发送任何邮件的用户名,并选择 COUNT(message) 对于每个发送者,使用单行查询。
我试过这个代码:

$query="SELECT DISTINCT clientname,user_id,user1pic, COUNT("SELECT id FROM messages WHERE clientname=clientname) AS counted FROM messages WHERE receiver=$uid and status='unread' ";
$messages=mysqli_query($cnx,$query);
while($row=mysqli_fetch_array($cnx,$messages)){

echo '<a class="example" > '.$row['clieenter code herentname'].''.$row['counted'].'</a>' ;}
if(mysqli_num_rows($cnx,$messages)<=0){
    echo '<a class="example" href="#">You Have No Messages</a>' ;
}
yrdbyhpb

yrdbyhpb1#

请尝试以下操作:

SELECT 
  clientname,
  user_id,
  user1pic, 
  COUNT(1) AS counted 
FROM 
  messages 
WHERE 
  receiver=:uid 
  and status='unread'
Group by
  clientname,
  user_id,
  user1pic;

我已经用参数占位符替换了内联php变量-请使用参数绑定来避免sql注入。

相关问题