SQL获得多个结果

时间:2017-03-04 14:15:05

标签: mysql

好的,所以我有了这个查询

var userId = User.Identity.GetUserId();
var model = new IndexViewModel
{
    HasPassword = HasPassword(),
    PhoneNumber = await UserManager.GetPhoneNumberAsync(userId),
    TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId),
    Logins = await UserManager.GetLoginsAsync(userId),
    BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId),
    CurrentUser = await UserManager.FindByIdAsync(userId)
};
return View(model);

现在查询工作正常但我想获得发送方和接收方的结果,是否可能?

例如,此查询会过滤管理员发送的“唯一”消息,但我也想检查他收到的消息。

所以基本上我想改变这个查询来做下面的事情

  • 列出用户收到并发送的所有私信,并确保它们是唯一的

By Unique我基本上是说我不想看到我发给某人的一些消息,他们只是回复了我,我想只看到每个人的一条消息

这是我从当前查询得到的 enter image description here

2 个答案:

答案 0 :(得分:1)

替换

SELECT DISTINCT private_messages.*,
                            users.ID AS userID,
                            users.username AS username,
                            profiles.img_url AS profileImage
                            FROM private_messages
                            INNER JOIN users ON users.username = private_messages.receiver
                            INNER JOIN profiles ON profiles.userID = users.ID
                        WHERE (private_messages.sender ='Admin' or private_messages.receiver = 'Admin')
                        AND  private_messages.id IN  ( select max(ID) 
                        FROM private_messages GROUP BY sender 
                )                
                ORDER BY private_messages.sent_at DESC 

private_messages.sender ='Admin'

答案 1 :(得分:0)

您应该将条件更改为发件人收件人:

...
$data | Export-Csv d:\filedark2.csv -Append -NoTypeInformation
...
}
Save-CSVasExcel d:\filedark2.csv
...