我在CodeIgniter中有一个查询,它工作正常。 现在我想在每个输出行中有一个额外的 COUNT,这些数据显示在表格中。 我想查看每行用户请求设备的次数。
我不希望对输出进行分组,我希望每行一列说该用户有 3 个请求,因此在这种情况下,来自同一用户的 3 行,具有不同的 deviceRequest,此列中的 3 次计数为 3。
PS:我对此很陌生,有关您的解决方案的信息将不胜感激。
查询:
$datatables->select('
deviceRequestID,
deviceRequestStatuses.deviceRequestStatusShortname,
users.userEmail,
users.userID,
users.userName,
users.userSurname,
deviceRequestComments,
deviceRequests.createdAt,
deviceRequests.updatedAt,
rooms.roomName,
hotspots.hotspotName,
hotspots.hotspotAddress,
hotspots.hotspotCity,
hotspots.hotspotZIP,
DATEDIFF(CURDATE(), deviceRequests.createdAt) AS daysDifference,
')
->join('users', 'deviceRequests.userID=users.userID', 'left')
->join('deviceRequestStatuses', 'deviceRequests.deviceRequestStatusID=deviceRequestStatuses.deviceRequestStatusID')
->join('rooms', 'users.roomID=rooms.roomID', 'left')
->join('hotspots', 'rooms.hotspotID=hotspots.hotspotID', 'left')
->from('deviceRequests');
我在上面查询的选择部分添加了这个额外的查询行,它完全符合我的需要。
(SELECT count(userID) FROM deviceRequests WHERE userID = users.userID) AS deviceCount