sql >> Databasteknik >  >> RDS >> Mysql

Skilj dubbletter i en foreach loop från sql

Alternativ - låt databasen göra jobbet åt dig:

SELECT j.*, c.appl_count FROM jp_applications j
    INNER JOIN (SELECT user_id, count(1) as appl_count FROM jp_applications
            WHERE application_status = "Awaiting Response"
            GROUP BY user_id) c on c.user_id = j.user_id
WHERE j.application_status = "Awaiting Response"
ORDER BY j.job_id

Då kommer din resultatuppsättning att ha fältet 'appl_count' tillgängligt, om det är större än 1, lägg till klassen. Detta tar bort behovet av att göra all räkning i appkoden.



  1. Få en unik databasidentifierare för SQL Server 2005 och senare

  2. Vilken typ av relation kräver dessa två tabeller?

  3. Hur man använder GROUP BY för att hämta en resultatuppsättning med prioritet på alfabetisering

  4. Php lotteri problem med flera vinnare