Ответ James Curran был самым кратким, по-моему, но вывод не был корректен. Для SQL Server самый простой оператор следующие:
SELECT
[score range] = CAST((Score/10)*10 AS VARCHAR) + ' - ' + CAST((Score/10)*10+9 AS VARCHAR),
[number of occurrences] = COUNT(*)
FROM #Scores
GROUP BY Score/10
ORDER BY Score/10
Это принимает #Scores временную таблицу, я раньше тестировал ее, я просто заполнил 100 строк со случайным числом между 0 и 99.
Вы можете попробовать использовать интерактивную опцию для python:
python -i program.py
Это выполнит код в program.py, а затем перейдет к REPL. Все, что вы определите или импортируете на верхнем уровне program.py, будет доступно.
Я часто использую это:
def interact():
import code
code.InteractiveConsole(locals=globals()).interact()
Вот как вы должны это сделать (IPython> v0.11):
import IPython
IPython.embed()
Для IPython <= v0.11:
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()
ipshell() # this call anywhere in your program will start IPython
Вы должны использовать IPython, Cadillac Python REPL. См. http://ipython.org/ipython-doc/stable/interactive/reference. вычислительные ситуации, где это обычно нужно делать что-то автоматическое, вычислительно-интенсивная часть и затем перестаньте смотреть данные, графики и т. д. Открытие экземпляра IPython даст вам полный доступ к вашим данным и функции, и вы можете возобновить программу выполнение, как только вы закончите с интерактивная часть (возможно, чтобы остановить снова позже, столько раз, сколько потребуется).
Вы можете запустить отладчик:
import pdb;pdb.set_trace()
Не уверен, для чего вам нужен REPL, но отладчик очень похож.
Чтобы использовать iPython и функциональные возможности отладчика, вы должны использовать ipdb ,
Вы можете использовать его так же, как pdb, с добавлением:
import ipdb
ipdb.set_trace()