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

mysql - समूह प्रकार से पहले और अंतिम रिकॉर्ड में शामिल हों?

GROUP BY . की mysql की "फंकी" कार्यक्षमता का उपयोग करें बिना अन्य स्तंभों को एकत्रित करना, जो केवल पहले . लौटाता है समूह की पंक्ति। समस्या तब पंक्तियों को पहले . सही क्रम में लाने में हो जाती है इस कार्यक्षमता का उपयोग करते हुए, आमतौर पर एक उपनामित क्वेरी का उपयोग करके।

यह दृष्टिकोण किसी भी सहसंबद्ध उपश्रेणियों (प्रति पंक्ति प्रश्न) से बचा जाता है और तालिका के ऊपर केवल दो पास की आवश्यकता होती है (आदेश देने की प्रत्येक दिशा के लिए एक):

select x2.type, x2.dat as first_dat, y2.dat as last_dat
from (select *
  from (select type, dat
    from so8735514
    order by 1, 2) x1
  group by 1) x2
join (select *
  from (select type, dat
    from so8735514
    order by 1, 2 desc) y1
  group by 1) y2 on y2.type = x2.type;

टेस्ट कोड:

create table so8735514 (idx int, type text, dat text);
insert into so8735514 values
(0, 'a', 'foo1'),
(1, 'b', 'foo2'),
(2, 'c', 'foo3'),
(3, 'a', 'foo4'),
(4, 'b', 'foo5'),
(5, 'c', 'foo6'),
(6, 'a', 'foo7'),
(7, 'b', 'foo8'),
(8, 'c', 'foo9');

आउटपुट:

+------+-----------+----------+
| type | first_dat | last_dat |
+------+-----------+----------+
| a    | foo1      | foo7     |
| b    | foo2      | foo8     |
| c    | foo3      | foo9     |
+------+-----------+----------+



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP का उपयोग करके पिछले 7 दिनों को कैसे प्राप्त करें

  2. Android - रूबी ऑन रेल्स - MySQL

  3. MySQL वर्कबेंच का उपयोग करके MySQL को कैसे रोकें / प्रारंभ करें

  4. मैं MySQL में एक विशिष्ट संयोजन का उपयोग क्यों नहीं कर सकता?

  5. Django- उपयोगकर्ताओं के बीच भेजे गए संदेशों को कैसे मैप करें