คำถามติดแท็ก group-by

GROUP BY เป็นคำสั่งในมาตรฐานฐานข้อมูลเชิงสัมพันธ์ของ SQL สำหรับการยุบกลุ่มของแถวที่ใช้ค่าฟิลด์ร่วมกันในแถวเดียว ฟังก์ชันการรวมสามารถดำเนินการกับเขตข้อมูลอื่นในกลุ่มเช่น SUM () หรือ AVG () เพื่อเปรียบเทียบข้อมูลที่เกี่ยวข้องเป็นค่าเดียว

7
ความถี่ / สัดส่วนสัมพัทธ์ที่มี dplyr
สมมติว่าฉันต้องการคำนวณสัดส่วนของค่าต่าง ๆ ภายในแต่ละกลุ่ม ยกตัวอย่างเช่นการใช้mtcarsข้อมูลที่ฉันจะคำนวณญาติความถี่ของจำนวนเกียร์โดยน (อัตโนมัติ / คู่มือ) ในหนึ่งไปด้วยdplyr? library(dplyr) data(mtcars) mtcars <- tbl_df(mtcars) # count frequency mtcars %>% group_by(am, gear) %>% summarise(n = n()) # am gear n # 0 3 15 # 0 4 4 # 1 4 8 # 1 5 5 สิ่งที่ฉันต้องการบรรลุ: am gear n rel.freq 0 …
153 r  group-by  dplyr  frequency 

9
pandas GroupBy คอลัมน์ที่มีค่า NaN (หายไป)
ฉันมี DataFrame ที่มีค่าหายไปจำนวนมากในคอลัมน์ที่ฉันต้องการจัดกลุ่มตาม: import pandas as pd import numpy as np df = pd.DataFrame({'a': ['1', '2', '3'], 'b': ['4', np.NaN, '6']}) In [4]: df.groupby('b').groups Out[4]: {'4': [0], '6': [2]} ดูว่า Pandas ทำดร็อปแถวด้วยค่าเป้าหมาย NaN (ฉันต้องการรวมแถวเหล่านี้ด้วย!) เนื่องจากฉันต้องการการดำเนินการหลายอย่าง (cols จำนวนมากมีค่าที่หายไป) และใช้ฟังก์ชันที่ซับซ้อนมากกว่าแค่สื่อกลาง (โดยทั่วไปคือป่าสุ่ม) ฉันต้องการหลีกเลี่ยงการเขียนโค้ดที่ซับซ้อนเกินไป ข้อเสนอแนะใด ๆ ฉันควรจะเขียนฟังก์ชั่นสำหรับสิ่งนี้หรือมีวิธีแก้ปัญหาง่ายๆหรือไม่?

13
นับจำนวนระเบียนที่ส่งคืนโดยจัดกลุ่มโดย
ฉันจะนับจำนวนระเบียนที่ส่งคืนโดยกลุ่มตามแบบสอบถามได้อย่างไร เช่น: select count(*) from temptable group by column_1, column_2, column_3, column_4 ให้ฉัน, 1 1 2 ฉันต้องนับบันทึกข้างต้นเพื่อรับ 1 + 1 + 1 = 3

19
รายการที่เลือกไม่อยู่ในคำสั่ง GROUP BY และมีคอลัมน์ที่ไม่รวม ... เข้ากันไม่ได้กับ sql_mode = only_full_group_by
AM ใช้ MySQL 5.7.13 บนพีซีที่ใช้ Windows กับเซิร์ฟเวอร์ WAMP นี่คือปัญหาของฉันในขณะที่เรียกใช้แบบสอบถามนี้ SELECT * FROM `tbl_customer_pod_uploads` WHERE `load_id` = '78' AND `status` = 'Active' GROUP BY `proof_type` ฉันมักจะได้รับข้อผิดพลาดเช่นนี้ นิพจน์ # 1 ของรายการ SELECT ไม่ได้อยู่ใน GROUP BY clause และมีคอลัมน์ที่ไม่รวม 'returntr_prod.tbl_customer_pod_uploads.id' ซึ่งไม่ได้ขึ้นอยู่กับคอลัมน์ใน GROUP BY clause สิ่งนี้เข้ากันไม่ได้กับ sql_mode = only_full_group_by คุณช่วยบอกทางออกที่ดีที่สุดได้ไหม ... ฉันต้องการผลลัพธ์เช่น +----+---------+---------+---------+----------+-----------+------------+---------------+--------------+------------+--------+---------------------+---------------------+ | id …

9
SQL - ใช้นามแฝงใน Group By
แค่อยากรู้เกี่ยวกับไวยากรณ์ SQL ดังนั้นถ้าฉันมี SELECT itemName as ItemName, substring(itemName, 1,1) as FirstLetter, Count(itemName) FROM table1 GROUP BY itemName, FirstLetter สิ่งนี้จะไม่ถูกต้องเพราะ GROUP BY itemName, FirstLetter ควรจะเป็น GROUP BY itemName, substring(itemName, 1,1) แต่ทำไมเราไม่สามารถใช้อดีตเพื่อความสะดวกได้?
143 sql  group-by  alias 



6
กลุ่ม Python โดย
สมมติว่าฉันมีชุดคู่ข้อมูลโดยที่ดัชนี 0คือค่าและดัชนี 1เป็นประเภท: input = [ ('11013331', 'KAT'), ('9085267', 'NOT'), ('5238761', 'ETH'), ('5349618', 'ETH'), ('11788544', 'NOT'), ('962142', 'ETH'), ('7795297', 'ETH'), ('7341464', 'ETH'), ('9843236', 'KAT'), ('5594916', 'ETH'), ('1550003', 'ETH') ] ฉันต้องการจัดกลุ่มตามประเภทของพวกเขา (ตามสตริงที่จัดทำดัชนีที่ 1) ดังนี้: result = [ { type:'KAT', items: ['11013331', '9843236'] }, { type:'NOT', items: ['9085267', '11788544'] }, { type:'ETH', …
125 python  group-by 



12
จัดกลุ่มตามเดือนและปีใน MySQL
ด้วยตารางที่มีการประทับเวลาในแต่ละแถวคุณจะจัดรูปแบบแบบสอบถามให้พอดีกับรูปแบบวัตถุ json เฉพาะนี้ได้อย่างไร ฉันพยายามจัดระเบียบวัตถุ json เป็นปี / เดือน json เพื่อปิดการสืบค้น: { "2009":["August","July","September"], "2010":["January", "February", "October"] } นี่คือคำถามที่ฉันมี - SELECT MONTHNAME(t.summaryDateTime) as month, YEAR(t.summaryDateTime) as year FROM trading_summary t GROUP BY MONTH(t.summaryDateTime) DESC"; ข้อความค้นหาถูกทำลายลงเนื่องจาก (คาดเดาได้) รวมกันเป็นปีที่แตกต่างกัน
99 sql  mysql  group-by  date 

10
GroupBy แพนด้า DataFrame และเลือกค่าที่พบบ่อยที่สุด
ฉันมีกรอบข้อมูลที่มีคอลัมน์สตริงสามคอลัมน์ ฉันรู้ว่าค่าเดียวในคอลัมน์ที่ 3 ใช้ได้กับทุกค่าผสมของสองค่าแรก ในการล้างข้อมูลฉันต้องจัดกลุ่มตามกรอบข้อมูลตามสองคอลัมน์แรกและเลือกค่าที่พบบ่อยที่สุดของคอลัมน์ที่สามสำหรับแต่ละชุดค่าผสม รหัสของฉัน: import pandas as pd from scipy import stats source = pd.DataFrame({'Country' : ['USA', 'USA', 'Russia','USA'], 'City' : ['New-York', 'New-York', 'Sankt-Petersburg', 'New-York'], 'Short name' : ['NY','New','Spb','NY']}) print source.groupby(['Country','City']).agg(lambda x: stats.mode(x['Short name'])[0]) บรรทัดสุดท้ายของโค้ดใช้ไม่ได้มันขึ้นว่า "Key error" Short name "" และถ้าฉันพยายามจัดกลุ่มตามเมืองเท่านั้นฉันก็จะได้รับ AssertionError ฉันจะแก้ไขอะไรได้บ้าง?

6
MySQL“ Group By” และ“ Order By”
ฉันต้องการที่จะสามารถเลือกแถวจำนวนมากจากตารางอีเมลและจัดกลุ่มตามผู้ส่งจาก ข้อความค้นหาของฉันมีลักษณะดังนี้: SELECT `timestamp`, `fromEmail`, `subject` FROM `incomingEmails` GROUP BY LOWER(`fromEmail`) ORDER BY `timestamp` DESC แบบสอบถามเกือบจะทำงานตามที่ฉันต้องการ - โดยจะเลือกระเบียนที่จัดกลุ่มตามอีเมล ปัญหาคือหัวเรื่องและการประทับเวลาไม่ตรงกับบันทึกล่าสุดสำหรับที่อยู่อีเมลหนึ่ง ๆ ตัวอย่างเช่นอาจส่งคืน: fromEmail: john@example.com, subject: hello fromEmail: mark@example.com, subject: welcome เมื่อระเบียนในฐานข้อมูลคือ: fromEmail: john@example.com, subject: hello fromEmail: john@example.com, subject: programming question fromEmail: mark@example.com, subject: welcome หากหัวข้อ "คำถามการเขียนโปรแกรม" เป็นหัวข้อล่าสุดฉันจะให้ MySQL เลือกบันทึกนั้นเมื่อจัดกลุ่มอีเมลได้อย่างไร


10
จัดกลุ่มเป็นช่วงเวลา 5 นาทีภายในช่วงเวลา
ฉันมีปัญหากับคำสั่ง mySQL ที่ฉันต้องการทำ SELECT a.timestamp, name, count(b.name) FROM time a, id b WHERE a.user = b.user AND a.id = b.id AND b.name = 'John' AND a.timestamp BETWEEN '2010-11-16 10:30:00' AND '2010-11-16 11:00:00' GROUP BY a.timestamp นี่คือคำสั่งผลลัพธ์ปัจจุบันของฉัน timestamp name count(b.name) ------------------- ---- ------------- 2010-11-16 10:32:22 John 2 2010-11-16 10:35:12 John 7 …
94 mysql  sql  group-by 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.