如何在小于或等于运算符的SQL中使用大小写表达式?

问题描述

我有一个查询,我想在其中按排名(rn)列分组并显示销售,订单等的结果。

SELECT month,sku_id,case when rn<=1000 then 1
     when rn<=2000 then 2
     else 3 end as rn

这里的问题是,前1000个sku标记为rn 1,只有下一个1000 skus标记为rn 2,但是我希望前1000个sku也被视为rn。我了解在case表达式中不可能做到这一点,对此有任何解决方法吗?

解决方法

您的方法应如下:

使用@db_session def load_data(self): result = db.execute("""SELECT * FROM Product""") self.ui.tableWidget.setRowCount(0) for row_number,row_data in enumerate(result): self.ui.tableWidget.insertRow(row_number) for column_number,data in enumerate(row_data): self.ui.tableWidget.setItem(row_number,column_number,QTableWidgetItem(str(data))) 为所有记录赋予唯一编号,然后使用row_number()语句:

case