مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

sg.programmer

عضویت از 1393/06/30

اجتناب از سورت در Group by

  • دوشنبه 21 آبان 1397
  • 16:24
تشکر میکنم

سلام
چطوری میشه جلوی سورت شدن  در Group by را گرفت؟ میخوام بر اساس ID سورت بشه ولی ستون ID در Group By  نیست.

پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 21 آبان 1397
  • 16:53
SELECT * FROM 

(
select * from `my_table` order by timestamp desc
) as my_table_tmp

group by catid

order by nid desc

کاربر سایت

sg.programmer

عضویت از 1393/06/30

  • دوشنبه 21 آبان 1397
  • 17:18

تشکر مهندس

ولی چطوری این nid را در Order by آوردید. اینکه در Group by نیست و خطا میده؟؟؟؟؟؟؟؟

کاربر سایت

sg.programmer

عضویت از 1393/06/30

  • دوشنبه 21 آبان 1397
  • 17:19
Column "my_table_tmp.ID" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 22 آبان 1397
  • 08:26

nid متعلق به my_tbl هست 

اون ستونی که میخواهید مرتب بشه 

کاربر سایت

sg.programmer

عضویت از 1393/06/30

  • سه شنبه 22 آبان 1397
  • 13:28
SELECT  namefamili, sum( x), sum( y) FROM 
(
SELECT ID, namefamili,  x,  y    FROM  tbl_sample order by ID desc  
) as my_table_tmp
 
group by namefamili
 
order by ID desc

اگه ممکنه با مهندس شما یک تست واقعی بزنید - هر کاری میکنم خطا را میده.

اگه ID را تو گروپ بای بیارم خطا نمیده ولی جواب درست بدست نمیاد. همه رکوردها بخاطر ID تک تک را نمایش می دهد

کاربر سایت

sg.programmer

عضویت از 1393/06/30

  • سه شنبه 22 آبان 1397
  • 13:33

راستی اگه ID در سورت داخلی هم نباشه باز خطا صادر میشه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 22 آبان 1397
  • 16:38

این لینک رو ببینید 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)