code: @Override
  	public long count(final String col) {
  		final String expr = col != null
  				? tableMetadata.getColumn(CaseFormat.CAMEL_CASE.convert(col)).getColumnIdentifier()
  				: "*";
  		StringBuilder sql = new StringBuilder("select count(").append(expr).append(") from (")
  				.append(System.lineSeparator())
  				.append(aggregationSourceSql())
  				.append(System.lineSeparator())
  				.append(") t_");
  		context().setSql(sql.toString());
  		try (ResultSet rs = agent().query(context())) {
  			rs.next();
  			return rs.getLong(1);
  		} catch (final SQLException e) {
  			throw new EntitySqlRuntimeException(SqlKind.SELECT, e);
  		}
  	}
docs: {@inheritDoc}
  
  @see jp.co.future.uroborosql.fluent.SqlEntityQuery#count(java.lang.String)