Я хочу приобрести 5 самых продаваемых цен каждый месяц в каждый год.Как перевести значки в django в SQL-инструкцию?
Так что я положил в коде, как этот
def query(request):
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT product_style_id ,sum(price) As total_p ,sum(cast(amount as int)) AS total_a FROM jewelry_productorder group by product_style_id ORDER BY total_p DESC LIMIT 5 ")
output = cursor.fetchall()
variables = RequestContext (request, {'output':output,})
return render_to_response('top5.html', variables)
результат вышел показывая топ-5 всей таблицы, а не топ-5 числа каждого месяца в каждом году.
Так что я положил в коде, как это (путем добавления условия WHERE)
def query(request):
m = request.GET['month']
y = request.GET['year']
d = str(y+'-'+m)
from django.db import connection
cursor = connection.cursor()
cursor.execute("SELECT product_style_id ,sum(price) As total_p ,sum(cast(amount as int)) AS total_a FROM jewelry_productorder WHERE due_date LIKE %s group by product_style_id ORDER BY total_p DESC LIMIT 5 " ,[d])
output = cursor.fetchall()
variables = RequestContext (request, {'output':output,})
return render_to_response('top5.html', variables)
результат вышел как этот
ProgrammingError в/запросе
оператор не существует: дата ~~ unknown LINE 1: ... total_a FROM jewelry_productorder WHERE due_date LIKE E'200 ... ^ СОВЕТ: Оператор не соответствует указанному имени и типу аргументов. Возможно, вам придется добавлять явные типы.
Помогите мне пожалуйста, что мне делать?
Какую базу вы используете? – ibz