Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 8, 2013 19:45:56

batChar
Зарегистрирован: 2013-02-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

SqlAlchemy

Все привет. Не могу сообразить как должно выглядеть это выражение в SqlAlchemy:

SELECT UPPER( substring(title from 1 for 1) ) AS alphabet, COUNT(substring(title from 1 for 1)) FROM wiki GROUP BY alphabet ORDER BY alphabet

Отредактировано batChar (Апрель 9, 2013 10:05:33)

Офлайн

#2 Апрель 22, 2013 13:23:36

appetito
От:
Зарегистрирован: 2010-09-28
Сообщения: 147
Репутация: +  2  -
Профиль   Отправить e-mail  

SqlAlchemy

не заморачивайтесь с алхимией, пишите sql в таких случаях!!!

query = """SELECT UPPER( substring(title from 1 for 1) ) AS alphabet, COUNT(substring(title from 1 for 1)) FROM wiki GROUP BY alphabet ORDER BY alphabet """
Session.connection().execute(query).fetchall()



Офлайн

#3 Апрель 22, 2013 15:05:31

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

SqlAlchemy

Не знаю что такое from 1 for 1, накидал запросик примерный, может задаст нужное направление.

from sqlalchemy.sql import func
db.session.query( func.upper(func.substr(Wiki.title)), func.count(func.substr(Wiki.title)) ).order_by(Wiki.title).group_by(Wiki.title)

appetito
не заморачивайтесь с алхимией, пишите sql в таких случаях!!!

А я бы всё-таки позаморачивался маленько, т.к. в случае каких-либо изменений придется править запросы по всему коду. Ну если уж никак, то тогда sql.



Отредактировано plusplus (Апрель 22, 2013 15:07:01)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version