Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Mysql में समूह को हटाए बिना सभी रिकॉर्ड कैसे प्राप्त करें?

यदि आप MySQL 8+ का उपयोग कर रहे हैं, तो हम इसे ROW_NUMBER . का उपयोग करके संभाल सकते हैं :

WITH cte AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY Date ORDER BY Time) rn
    FROM attendancedata
    WHERE EnrolledID = 23
)

SELECT
    Date,
    MAX(CASE WHEN rn = 1 THEN Time END) AS PO1,
    MAX(CASE WHEN rn = 2 THEN Time END) AS PO2,
    MAX(CASE WHEN rn = 3 THEN Time END) AS PO3,
    MAX(CASE WHEN rn = 4 THEN Time END) AS PO4,
    MAX(CASE WHEN rn = 5 THEN Time END) AS PO5,
    MAX(CASE WHEN rn = 6 THEN Time END) AS PO6,
    MAX(CASE WHEN rn = 7 THEN Time END) AS PO7
FROM cte
GROUP BY
    Date
ORDER BY
    Date;

लेकिन ध्यान दें कि सामान्य तौर पर दिनांक और समय को एक datetime में संग्रहित करना वांछनीय है MySQL के साथ फ़ील्ड। इस विशेष मामले में, इसने अच्छा काम किया, लेकिन यह हमेशा सच नहीं हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jquery के साथ चेकबॉक्स चेक करते समय डेटाबेस को कैसे अपडेट करें?

  2. आप date_sub से सप्ताहांत कैसे निकालते हैं?

  3. यूनिकोड वर्णों के साथ कॉलम पर MySQL ऑर्डर

  4. mysql_query () पैरामीटर 2 को संसाधन, स्ट्रिंग में दिए जाने की अपेक्षा करता है

  5. MySQL में डेटाबेस तालिका का विभाजन